package com.course.domain.service;

import com.course.domain.enums.TaskType;
import com.course.domain.model.CourseInfo;
import com.course.domain.model.CoursePlan;

import java.util.List;

/**
 * Created by Justin on 2017/5/12.
 */
public interface CourseService {

    CourseInfo createInfo(CourseInfo info);

    CourseInfo updateInfo(CourseInfo info);

    CourseInfo deleteInfo(CourseInfo info);

    CoursePlan createPlan(CoursePlan plan);

    CoursePlan updatePlan(CoursePlan plan);

    CourseInfo loadInfo(int courseId);

    List<CourseInfo> listInfo();

    List<CourseInfo> findInfo(List<Integer> courseIds);

    List<CoursePlan> findPlan(int courseId, int weedIdx);

    List<CoursePlan> findPlanByType(int courseId, TaskType type);

    CoursePlan loadPlanByCourseAndType(int courseId, int taskId, TaskType type);

    List<CoursePlan> findLearn(int courseId, int weekIdx, int weekDay);
}
